package br.com.o2solutions.siso.webapp.action;

import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Observer;

import br.com.o2solutions.core.service.Service;
import br.com.o2solutions.siso.integration.entidade.Agente;
import br.com.o2solutions.siso.integration.entidade.Contato;
import br.com.o2solutions.siso.webapp.interceptor.ExceptionInterceptorAnnotation;

/**
 * Classe responsável por realizar a fronteira entre as operações de serviços
 * relacionadas ao Dominio {@link Agente}.
 * 
 * @author Ivan
 * @since 23/11/2010
 * 
 */
@Name("agenteAction")
@ExceptionInterceptorAnnotation
public class AgenteAction
		extends
		BaseAction<br.com.o2solutions.siso.integration.entidade.Agente, Service<Agente>> {

	private static final long serialVersionUID = 1L;

	private boolean renderizaEndereco = false;
	
	private boolean renderizaContato = false;
	
	private Contato contato;

	@Override
	public void loadEntityByLinkId() {
	}

	@Override
	@Observer({ "br.com.o2solutions.siso.webapp.action.AgenteAction_SAVED",
			"br.com.o2solutions.siso.webapp.action.AgenteAction_REMOVED",
			"br.com.o2solutions.siso.webapp.action.AgenteAction_UPDATED" })
	public void updateResultList() {
		super.updateResultList();
	}

	@Override
	@In(value = "#{agenteService}", scope = ScopeType.SESSION)
	public void setService(Service<Agente> service) {
		// TODO Auto-generated method stub
		super.setService(service);
	}
	
	public void alteraRenderizacaoEndereco(){
		renderizaEndereco = !renderizaEndereco;
	}
	
	public void alteraRenderizaContato(){
		renderizaContato = !renderizaContato;
	}

	public boolean isRenderizaEndereco() {
		return renderizaEndereco;
	}

	public void setRenderizaEndereco(boolean renderizaEndereco) {
		this.renderizaEndereco = renderizaEndereco;
	}

	public boolean isRenderizaContato() {
		return renderizaContato;
	}

	public void setRenderizaContato(boolean renderizaContato) {
		this.renderizaContato = renderizaContato;
	}

	public Contato getContato() {
		return contato;
	}

	public void setContato(Contato contato) {
		this.contato = contato;
	}
	
	
	
}
